For most operating systems, applications running on the operating system typically operate most in isolation from each other. An operating system may provide a mechanism for applications to exchange information, but typically such mechanisms are subject to a number of restrictions and limitations.
For example, z/OS is an operating system for IBM® mainframes, produced by IBM. The range of virtual addresses that the z/OS operating system assigns to a user or separately running program is called an “address space”. Each “address space” comprises an area of contiguous virtual addresses available to a program to execute instructions and store data. The use of address spaces allows z/OS to maintain the distinction between the programs and data belonging to each address space. By design, the private areas in one user's address space are intended to be isolated from the private areas in other address spaces. Each address space also contains a common area that is accessible to every other address space. Typically, an application stores its data in the private area of its address space.
Applications running in isolation may compete with each other for resources, such as the use of specialty CPU engines or other hardware and/or software resources of the system. Shared, concurrent access to objects, such as files, may not be provided by the operating system alone.